home *** CD-ROM | disk | FTP | other *** search
AMOS Source Code | 1996-02-21 | 3.5 KB | 132 lines |
- '***************************************************************************
- '* *
- '* LCD.Amos *
- '* *
- '* � 1993-96 Andreas Heinrich *
- '* *
- '* Dieses Programm steuert ein LCD-Display an und *
- '* gibt die ASCII-Codes von 0-255 an das Display weiter. *
- '* *
- '***************************************************************************
- ' A=Adresse
- ' N=Wert
- ' U=1 = Neue Zeile
- ' T=Positionsz�hler
- ' Procedure Daten = Datenwort wird �ber Port 3 an das LCD-Display geschickt
- ' Procedure Kommando = Steuerwort wird gesendet
- '
- Global A,N,U,T
- '
- '**************************** Init f�r In_Out_Board ************************
- '
- INIT
- '
- '********************** Init Kommandos f�r LCD - Display *******************
- '
- N=$38 : Rem Display initialisieren
- KOMMANDO
- N=$1 : Rem Anzeige l�schen
- KOMMANDO
- Wait 1 : Rem Mu� hier 1/50 Sekunde warten
- '
- N=$E : Rem Schreibmarke einschalten
- KOMMANDO
- N=$6 : Rem Cursor an
- KOMMANDO
- '
- '**************************** Demo f�r die Ausgabe **************************
- '
- ' ( Ab hier k�nnen dann eigene Programme eingef�gt werden.)
- '
- ' Gibt die Werte von 0 bis 255 auf die Anzeige
- ' Nicht jedem Wert ist auch ein Zeichen zugeordnet
- NOCH_EINMAL:
- T=1
- For B=0 To 255
- N=B
- DATEN
- Wait 5 : Rem Hier ist kleine Warteschleife, damit man den Cursor sieht.
- Inc T
- '*************** Diese Routine l�scht nach 1 Sekunde das Display ************
- '
- If T=17
- U=1
- N=$C0
- KOMMANDO
- End If
- '
- If T=33 and U=1
- U=0
- T=1
- Wait 50
- N=$1
- KOMMANDO
- End If
- '
- '****************************************************************************
- '
- Next B
- Goto NOCH_EINMAL : Rem Und noch einmal nach NOCH_EINMAL
- '
- '********************************* Ende *************************************
- '
- '******************************* Proceduren *********************************
- '
- Procedure SCHREIBEN
- '
- Poke 12570624,248+A : Rem Adresse A selektieren
- Poke 12575489,255 : Rem Port als Ausgang schalten
- Poke 12574977,N : Rem Wert N schreiben
- Poke 12570624,255 : Rem Ready LED einschalten
- '
- End Proc
- '
- Procedure INIT
- '
- '******************** Nach dem Einschalten aufrufen ***********************
- '
- Poke 12571136,199 : Rem Busy,P-aus und SEL=Bitmuster Ausgabe
- Poke 12570624,255 : Rem Adresse 7 selektieren (Ready LED ein)
- Poke 12575489,0 : Rem Port als Eingang schalten
- '
- '**************************************************************************
- End Proc
- '
- Procedure KOMMANDO
- '
- A=3 : Rem Steuerwort an Port 3 senden
- SCHREIBEN
- '
- '******************** Umschalten nach Steuerwort **************************
- ' LCD-Freigabe usw.
- A=4
- N=3
- SCHREIBEN
- '
- N=1
- SCHREIBEN
- '
- N=2
- SCHREIBEN
- '
- N=3
- SCHREIBEN
- '
- '**************************************************************************
- End Proc
- '
- Procedure DATEN
- A=3 : Rem Datenwort nach Port 3
- SCHREIBEN
- '
- '*************************** LCD-Freigabe ********************************
- '
- A=4
- N=2
- SCHREIBEN
- '
- N=3
- SCHREIBEN
- '*************************************************************************
- End Proc
- '